The present invention concerns in general terms the coding and decoding of digital data, and relates particularly to the use of a single circuit for coding and decoding data, for example in a device for sending and receiving data.
The invention also relates to the transfer of data between a memory and a data coding or decoding circuit.
In the majority of cases of transmission of data between a sending device and a receiving device, it is necessary to code the data before the sender transmits them, and correlatively to decode them after the receiver has received them. The purpose of the coding is for example to minimise transmission errors due to noise corrupting the transmitted data, or to encrypt the transmitted data.
The coding and decoding operations can be performed by a single circuit, which is programmed either in coding mode or in decoding mode. A data coding and decoding device then uses a coding circuit and a decoding circuit which are programmed once and for all.
However, in the case of applications functioning in half-duplex mode, it is clear that the coding circuit and the decoding circuit never operate simultaneously. Since these circuits are relative expensive, a device which has two of these circuits is expensive.
The type of coding envisaged here consists of increasing the total number of data to be transmitted, by adding coding data to the data initially to be transmitted, or useful data.
A coding circuit processes the useful data in blocks in order to code them, one block including for example a few tens of octets. The coding circuit requires as an input blocks of data to be coded separated from each other by padding blocks. The coding circuit replaces the padding blocks with blocks of coding data. The coding circuit produces successive frames each having a block of useful data formed by a certain number of words of useful data, and a block of coding data formed by a certain number of words of coding data.
On reception, the coding data must be separated from the useful data. The coding data are used for decoding the useful data, for example by correcting any transmission errors, or by decrypting the useful data. The latter can then be stored to memory, for example.
The decoding circuit therefore produces successive blocks of useful data.
In addition, more and more devices use a direct access circuit for transferring data between two internal circuits. A direct access circuit allows more rapid transfers than a processor and does not monopolise the processor.
In order to use a direct access circuit as effectively as possible, that is to say to effect rapid data transfers, it is necessary to effect a continuous transfer of a data xe2x80x9cstreamxe2x80x9d. However, as stated above, the coding circuit requires, as an input, blocks of data to be coded separated from each other by padding blocks.
There is therefore incompatibility between transferring the data in continuous streams and supplying useful data in blocks, with interruption between the blocks.
This is because the transmission of successive small blocks of data by means of a direct access circuit eliminates the advantage of the latter, since it would then be necessary to reprogram the direct access circuit for each block transmitted.
In order to transfer data between a memory and a coding circuit as envisaged here, it is therefore not realistic to effect successive transfers of blocks containing the number of words of useful data for each of the frames to be formed.
In order to effect a continuous transfer of a large number of words of useful data between the memory and the coding circuit, it can be envisaged including non-significant words after each block of useful data, prior to transfer. At the time of coding, these non-significant words will be replaced by the coding words. However, this results in storing the non-significant words with the useful data words, and consequently a large amount of memory space is necessary.
Likewise, after decoding, in order to effect a continuous transfer of a large number of data words to the memory, it can be envisaged transmitting the coding words with the useful data words. There again, this results in using a large amount of memory space, by the storage of coding words which then no longer have any function.
Both for coding and decoding, the memory is poorly used, since it contains non-signficant words or coding words, in addition to useful data.
Thus the transfer of data between a memory and a coding or decoding circuit by means of a direct access circuit results in using either the direct access circuit or the memory in a non-optimum fashion.
The present invention aims to remedy the drawbacks of the prior art by providing a device and a method for coding and decoding data which makes it possible to code and decode data in half-duplex mode in a more economical fashion, whilst being just as effective, than in the prior art.
For this purpose, the invention proposes a method of coding and decoding data, the data to be coded and the decoded data being stored in a memory, characterised in that the coding and decoding are performed by a single data coding and decoding means,
and in that it includes the steps of:
initialising the coding and decoding means in coding mode, and controlling the passage of data to be coded from the memory to the coding and decoding means, and
initialising the coding and decoding means in decoding mode, and controlling the input of coded data into the coding and decoding means, and the passage of decoded data from the coding and decoding means to the memory.
Correlatively, the invention concerns a data coding and decoding device, having a memory for storing the data to be coded and the decoded data,
characterised in that it has a single data coding and decoding means and a control means adapted to, selectively:
initialise the coding and decoding means in coding mode, and control the passage of data to be coded from the memory to the coding and decoding means, and
initialise the coding and decoding means in decoding mode, and control the input of coded data into the coding and decoding means, and the passage of decoded data from the coding and decoding means to the memory means.
The invention also concerns a data coding and decoding device, adapted to cooperate with a memory for storing the date to be coded and the decoded data,
characterised in that it has a single data coding and decoding means and a control means adapted to, selectively:
initialise the coding and decoding means in coding mode, and control the passage of data to be coded from the memory to the coding and decoding means, and
initialise the coding and decoding means in decoding mode, and control the input of coded data into the coding and decoding means, and the passage of decoded data from the coding and decoding means to the memory means.
The method and device according to the invention allow a coding and a decoding of data in half-duplex mode which is performed economically since a single coding and decoding component is required.
According to a preferred characteristic of the invention, the method also includes the step of controlling a transfer of data to a data transmission means after the coding of the data. This is because the data coding applies particularly to the transmission of data, for example by radio transmission.
According to another preferred characteristic of the invention, the method includes the step of controlling a transfer of data between a data reception means connected at the input to the coding and decoding means, and the coding and decoding means. This is because the decoding of data applies particularly to the reception of data which have for example been sent by radio transmission.
The control means is advantageously connected at the input and output of the coding and decoding means, so that the data to be coded and the decoded data pass through the control means. Controlling the data transfer is thus performed reliably and economically.
According to other preferred characteristics, the device includes a data transmission means connected at the output of the coding and decoding means, and the control means is adapted to control the transfer of data between the coding and decoding means and the transmission means.
The device includes a data reception means, and the control means is adapted to control the transfer of data between the data reception means and the coding and decoding means. The device according to the invention is thus particularly used in a data sending and receiving context.
The present invention also concerns a data processing device, a communication device, such as computer, printer or facsimile apparatus, including the preceding coding and decoding device.
The present invention also concerns a storage medium, such as a floppy disk or a CD-ROM.
The advantages of these devices and storage medium are similar to those previously described.
The aim of the invention is also to make the use of a coding circuit or decoding circuit compatible with a direct access circuit, and to allow a rapid transfer of data between a memory and a coding or decoding circuit, whilst allowing optimum use of the memory.
To this end, the invention proposes a device for the coding of data extracted from a main memory, the data being in the form of useful data words, having:
a means of direct access to the main memory in order to extract the data to be coded,
a means of coding the extracted data, by the formation of groups of words each having a first predetermined number of useful data words and a second predetermined number of additional words, the additional words being determined by the coding means,
characterised in that it has:
a first buffer memory means connected between the direct access means and the coding means, the said buffer memory means receiving the extracted data, and
a means of controlling the transfer of data between the first buffer memory means and the coding means, adapted to control successively a transfer of the first predetermined number of useful data words and an interruption of the transfer of the data words for a period of interruption corresponding to the period which would be necessary for transferring the second predetermined number of additional words.
The invention also proposes a data coding device, adapted to cooperate with:
a main memory containing the data to be coded, the data being in the form of useful data words,
a means of direct access to the main memory for extracting the data to be coded,
and having:
a means of coding the extracted data, by the formation of groups of words each having a first predetermined number of useful data words and a second predetermined number of additional words, the additional words being determined by the coding means,
characterised in that it has:
a first buffer memory means connected between the direct access means and the coding means, the said buffer memory means receiving the extracted data, and
a means of controlling the transfer of data between the first buffer memory means and the coding means, adapted to control successively a transfer of the first predetermined number of useful data words and an interruption of the transfer of the data words for a period of interruption corresponding to the period which would be necessary for transferring the second predetermined number of additional words.
Correlatively, the invention proposes a method of coding data extracted from a main memory, the data being in the form of useful data words, including the step of:
coding the extracted data, by a coding means forming groups of words each including a first predetermined number of useful data words and a second predetermined number of additional words, the additional words being determined by the coding,
characterised in that it includes the steps of:
storing the extracted data in a first buffer memory means, prior to coding, and
controlling a transfer of the first predetermined number of useful data words between the first buffer memory means and the coding means, and successively an interruption of the transfer of the data words for a period of interruption corresponding the period which would be necessary for transferring the second predetermined number of additional words.
The coding device and method according to the invention allow a rapid transfer of data between the main memory and the coding circuit, by means of the direct access circuit, whilst storing only the useful data in the main memory.
Thus the main memory and the direct access circuit are both used in an optimum fashion, by virtue of the use of a buffer memory between the direct access means and the coding means, and by virtue of the appropriate control of the data transfers between the buffer memory and the coding means.
According to a preferred characteristic, the control means is adapted to control the transfer of data between the main memory and the first buffer memory means, via the direct access means.
The transfer of data between the main memory and the buffer memory is a rapid transfer of a large number of useful data, whilst the transfer of data between the buffer memory and the coding means is a transfer of successive blocks of data words each containing a smaller number of useful data words.
According to another preferred characterstic, a data transmission means is connected at the output from the coding means, and the control means is adapted to control the transfer of data between the coding means and the transmission means. In fact, the coding of data is applied particularly to the transmission of data, for example, by radio transmission.
The invention also concerns a device for the decoding of data coded in the form of groups of words each having a first predetermined number of useful data words and a second predetermined number of additional words, having:
a means of decoding the coded data, in order to supply the first predetermined number of useful data words in each of the groups of words,
a main memory for storing the useful data words supplied by the decoding means,
a means of direct access to the main memory in order to enter the useful data words therein,
characterised in that it has:
a second buffer memory means connected between the decoding means and the direct access means, and
a means of controlling the transfer of data between the decoding means and the second buffer memory means, adapted to control successively a transfer of the first predetermined number of useful data words and an interruption of the transfer of the data words for a period of interruption corresponding to the period which would be necessary for transferring the second predetermined number of additional words.
The invention also concerns a device for the decoding of data coded in the form of groups of words each having a first predetermined number of useful data words and a second predetermined number of additional words, having:
a means of decoding the coded data, in order to supply the first predetermined number of useful data words in each of the groups of words,
and adapted to cooperate with:
a main memory for storing the useful data words supplied by the decoding means,
a means of direct access to the main memory in order to enter the useful data words therein,
characterised in that it has:
a second buffer memory means connected between the decoding means and the direct access means, and
a means of controlling the transfer of data between the decoding means and the second buffer memory means, adapted to control successively a transfer of the first predetermined number of useful data words and an interruption of the transfer of the data words for a period of interruption corresponding to the period which would be necessary for transferring the second predetermined number of additional words.
Correlatively, the invention concerns a method of decoding data coded in the form of groups of words each having a first predetermined number of useful data words and a second predetermined number of additional words, including the steps of:
decoding the coded data, by a decoding means supplying the first predetermined number of useful data words in each of the groups of words,
storing the useful data words supplied by the decoding means,
characterised in that it includes the steps of:
storing the decoded data in a second buffer memory means, and
controlling a transfer of the first predetermined number of useful data words between the decoding means and the second buffer memory means, and successively an interruption of the transfer of the data words during a period of interruption corresponding to the period which would be necessary for transferring the second predetermined number of additional words.
The advantages offered by the invention for transferring data between the decoding means and the main memory are similar to those set out above.
According to preferred characteristics:
the control means is adapted to control the transfer of data between the second buffer memory means and the main memory, via the direct access circuit,
a data reception means is connected at the input of the decoding means, and the control means is adapted to control the transfer of data between the data reception means and the decoding means.
The present invention also concerns a data processing device, a communication device, such as computer, printer or facsimile apparatus, including the preceding device for the coding of data extracted from a main memory or the corresponding decoding device.
The present invention also concerns a storage medium, such as a floppy disk or a CD-ROM.
The advantages of these devices and storage medium are similar to those previously described.